--- pointcloud-1.0.1/pgsql/pc_access.c.orig	2016-02-07 08:01:10.553181345 +0700
+++ pointcloud-1.0.1/pgsql/pc_access.c	2016-02-07 08:01:39.528225276 +0700
@@ -313,15 +313,7 @@
 		        (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 		         errmsg("could not determine input data type")));
 
-	if (fcinfo->context && IsA(fcinfo->context, AggState))
-	{
-		aggcontext = ((AggState *) fcinfo->context)->aggcontext;
-	}
-	else if (fcinfo->context && IsA(fcinfo->context, WindowAggState))
-	{
-		aggcontext = ((WindowAggState *) fcinfo->context)->aggcontext;
-	}
-	else
+	if ( ! AggCheckCallContext(fcinfo, &aggcontext) )
 	{
 		/* cannot be called directly because of dummy-type argument */
 		elog(ERROR, "pointcloud_agg_transfn called in non-aggregate context");
